package com.bestcem.xm.ticket.dao;

import com.bestcem.xm.ticket.entity.mongo.RspdTimer;

import java.util.List;

/**
 * 二次投放任务相关
 *
 * @author jy.zhao
 * @version 1.0
 * @date 2021/8/23 14:47
 **/
public interface RspdTimerDao {

    /**
     * 根据id查询 RspdTimer
     *
     * @param id id
     * @return RspdTimer
     * @author jy.zhao
     * @date 2021/12/15 16:15
     **/
    RspdTimer findById(String id);

    /**
     * 保存二次投放任务相关
     *
     * @param entity
     * @return Notification
     * @author jy.zhao
     * @date 2021/8/23 15:17
     **/
    void saveRespondentTimer(RspdTimer entity);

    /**
     * 根据时间范围查询定时任务
     *
     * @param curTime
     * @param oldTime
     * @return List<RspdTimer>
     * @version v1.0
     * @author gy.liu
     * @date 2021/8/31
     */
    List<RspdTimer> findTimerByExpire(Long curTime, Long oldTime, Integer status);

    /**
     * 更新定时任务的有效期
     *
     * @param id
     * @param expire
     * @return UpdateResult
     * @version v1.0
     * @author gy.liu
     * @date 2021/9/1
     */
    void updateTimer(String id, Integer expire);

    /**
     * 更新定时任务的状态
     *
     * @param id     定时任务id
     * @param status 定时任务的状态
     * @author jy.zhao
     * @date 2021/12/15 16:17
     **/
    void updateTimerStatus(String id, Integer status);
}
